home *** CD-ROM | disk | FTP | other *** search
/ Mac Magazin/MacEasy 42 / Mac Magazin and MacEasy Magazine CD - Issue 42.iso / Software / Utilities / Sonstige / Menu Grabber 1.3.1 / Menu Grabber Help (text) < prev    next >
Encoding:
Text File  |  1998-01-07  |  22.6 KB  |  579 lines  |  [TEXT/R*ch]

  1.  
  2. Menu Grabber 1.3.1
  3.  
  4. December 4, 1997
  5.  
  6.  
  7.  
  8. Disclaimer and Copyright Notice
  9.  
  10.  
  11. Menu Grabber is a free utility which uses the Menu Events extension to
  12. control other applications through their menus.  The author, Ross Brown,
  13. makes no warranty, either express or implied, with respect to this
  14. software, its performance, merchantability, or suitability for any
  15. particular purpose.  People using the Menu Grabber utility do so at their
  16. own risk.  The author disclaims all liability for loss of data, mechanical
  17. damage, or other losses suffered while using the Menu Grabber utility.
  18.  
  19. Menu Grabber is an AWOL Software Production, Copyright © 1994-7
  20. Ross Brown.  All rights reserved.  Permission is granted to make and
  21. distribute copies of this software, provided this disclaimer and copyright
  22. notice are preserved on all copies.  The software may not, however, be
  23. sold or distributed for profit, or included with other software which is
  24. sold or distributed for profit, without the permission of the author.
  25.  
  26. There are no site license fees for the use of Menu Grabber within an
  27. organization.  The author encourages you to make and distribute as many
  28. copies of the application as you wish, for whomever you wish, as long as
  29. it is not for profit.  Menu Grabber is part of a set of cooperating
  30. programs, AWOL Utilities.  The tutorial help you are reading is designed
  31. for handling by the help server application Help on Wheels, which is also
  32. part of AWOL Utilities.
  33.  
  34.  
  35.  
  36. Distribution Policy
  37.  
  38.  
  39. New versions of individual AWOL Utilities programs, including Menu
  40. Grabber, are available by anonymous FTP from popular archive sites
  41. including <ftp://sumex-aim.stanford.edu/info-mac/> and its various
  42. mirror sites, such as <ftp://mirrors.aol.com/pub/info-mac/>.
  43.  
  44. For the latest information about AWOL software, including AWOL Utilities,
  45. please visit the AWOL Web page at <http://www.magma.ca/~awolsp/>.
  46.  
  47. Support for AWOL Utilities is through Internet mail at
  48. <mailto:ab026@freenet.carleton.ca>.  The software is not available by
  49. FTP from this site.  The address for paper correspondence is AWOL
  50. Software Productions, PO Box 24207, Hazeldean RPO, Kanata, Ontario,
  51. Canada K2M 2C3.
  52.  
  53. Macintosh users who do not have access to electronic sources of free and
  54. shareware software may obtain a copy of AWOL Utilities by sending a
  55. self-addressed stamped envelope and an 800K (or larger) formatted
  56. diskette to the author at the above address.  U.S. users are reminded that
  57. postage from Canada in 1997 is C$0.52 up to 30 grams (1 oz.), C$0.77 up
  58. to 50 grams (1 3/4 oz.), and C$1.17 up to 100 grams (3 1/2 oz.).
  59. US$0.50, US$0.75, and US$1.00 in coin is acceptable in place of stamps
  60. for the respective weights.  People outside the U.S. and Canada may send
  61. an international postal reply coupon instead of Canadian stamps (available
  62. from any post office).  Please use sturdy envelopes, preferably cardboard
  63. disk mailers.  (Mailers over 5 mm (1/5") thick require C$1.17 postage to
  64. the U.S.)
  65. Please do not send return envelopes with non-Canadian
  66. stamps, as Canada Post will not accept them.
  67.  
  68.  
  69.  
  70. About AWOL Software Productions
  71.  
  72.  
  73. AWOL Software Productions specializes in custom development of
  74. software for the Mac OS.  Since its inception in 1990, AWOL has
  75. developed a number of programs which enhance the Mac OS user
  76. experience, working in nearly every part of the Macintosh Toolbox.  If
  77. you have a short-term programming task or product idea but lack the
  78. staff to do the expert design, coding, and documentation, we invite your
  79. inquiry.
  80.  
  81. Virtual Desktop is AWOL’s best-known effort, serving the desktop
  82. expansion needs of thousands of Mac users around the world.  Later in
  83. 1997, AWOL will release a new commercial version 2.0 to replace the
  84. freeware version contained in the AWOL Utilities package.  Please contact
  85. us at <mailto:ab026@freenet.carleton.ca> for feature and ordering
  86. information.
  87.  
  88. Users who want more out of the Mac’s speech capabilities should check
  89. out MacYack Pro, a jointly developed package of speech tools marketed by
  90. Scantron Quality Computers (<http://www.lowtek.com/macyack/>;
  91. <mailto:qualitycomp@aol.com>; 20200 Nine Mile Rd., St. Clair Shores, MI
  92. 48080).
  93.  
  94.  
  95.  
  96. Purpose
  97.  
  98.  
  99. As its name suggests, Menu Grabber reaches out to another application
  100. and grabs a copy of its menu bar.  When you select an item from a grabbed
  101. menu, or press its Command-key equivalent, Menu Grabber sends a
  102. “Menu event” to the target application, simulating a menu selection in
  103. that application.
  104.  
  105. The target application can be on your machine or on any machine on your
  106. AppleTalk network, but it must be a machine equipped with the Menu
  107. Events extension.  Any “high-level-event-aware” application (one that
  108. supports program linking) can be a target, even if it is not designed to be
  109. scriptable.  With some limitations, Menu Grabber gives you a way to
  110. control applications on other machines which you would not otherwise
  111. have.
  112.  
  113. NOTE:  The help file for the Menu Events extension contains a complete
  114. description of the extension, the Apple events which it supports, and
  115. some usage suggestions for programmers.
  116.  
  117.  
  118.  
  119. Who Can Use Menu Grabber?
  120.  
  121.  
  122. Any Macintosh running System 7.0 or later can use Menu Grabber.
  123. Because it’s an application, and not a system extension, it shouldn’t
  124. conflict with your other programs.
  125.  
  126. It is not necessary to have the Menu Events extension installed on the
  127. machine where you use Menu Grabber to target applications on another
  128. machine.
  129.  
  130. Menu Grabber can be placed on an AppleShare file server, where any
  131. number of users can access it simultaneously.
  132.  
  133.  
  134.  
  135. How Does Menu Grabber Work?
  136.  
  137.  
  138. About Menu Events
  139.  
  140. When the Menu Events extension is installed on a Macintosh, all
  141. high-level-event-aware applications running on that machine gain support
  142. for Menu events.  Menu events are a class of Apple events which allow a
  143. sender to query an application’s menus and menu items, and to select its
  144. menu items.  (See the help file for the Menu Events extension to learn
  145. more about the Apple event syntax for Menu events.)
  146.  
  147. In order for Menu events to work across an AppleTalk network, the target
  148. machine and application must meet the following conditions:
  149. •  program linking started in Sharing Setup control panel
  150. •  program linking allowed to user or guest through Users & Groups
  151. control panel
  152. •  remote program linking allowed through application’s Sharing dialog
  153. •  Menu Events extension installed
  154.  
  155. NOTE (technical, but important):  Even with remote program linking
  156. allowed, most applications run in a mode where they will not permit user
  157. interaction in response to an event from another machine.  Menu Events
  158. always requests user interaction to make the target application active, as
  159. it would normally be when it senses a menu selection.  Menu Events is
  160. programmed to overcome this problem.  If you want to allow remote Menu
  161. events (such as sent by Menu Grabber) to work on applications running in
  162. the default kAEInteractWithLocal interaction mode, leave Menu Events
  163. unlocked.  Otherwise, lock it using the Get Info dialog, so that applications
  164. can decide for themselves whether to allow remote control.  This choice
  165. does not affect the acceptance of Menu events by applications which are
  166. running in the kAEInteractWithSelf (always reject) or kAEInteractWithAll
  167. (always accept) interaction mode.
  168.  
  169. After installing the Menu Events extension on the target machine, you
  170. must restart that machine to enable support for Menu events.  An icon
  171. appears at startup to confirm that the extension has initialized
  172. successfully.  The icon includes a little padlock if Menu Events has been
  173. locked against remote senders.
  174.  
  175.  
  176. Selecting a Target Application
  177.  
  178. Once you have installed the Menu Events extension on the target machine,
  179. you are ready to try Menu Grabber.  You may decide to run Menu Grabber
  180. on the same machine, as a first test, but to be certain that Menu events
  181. will work for a certain target application across the network, you should
  182. also try grabbing its menus from another machine.
  183.  
  184. To grab an application’s menus, click the Grab… button in the Menu
  185. Grabber dialog, then select the zone, machine, and application you want.
  186. If the machine’s name does not appear, check that it is connected to the
  187. network, and that program linking is started.  If the application’s name
  188. does not appear, check that it is open, and that remote program linking is
  189. allowed in its Sharing dialog.  If you have to turn on remote program
  190. linking, you must quit the application first.  If the check box remains
  191. grayed out after quitting the application, and the application is neither
  192. locked nor on an unwritable volume, it is likely that the application is not
  193. high-level-event-aware — in other words, it doesn’t support program
  194. linking, and can’t be controlled by Menu Grabber.
  195.  
  196. Unfortunately, some applications, such as any version of Finder which
  197. predates Power Macintosh (version 7.1.2), are programmed in such a
  198. way as to ignore high-level events which they do not understand, such as
  199. Menu events.  If it seems to be taking a long time to grab the application’s
  200. menus, you can wait 30 seconds for the attempt to time out, or press
  201. Command-Period to cancel the attempt.  A few other applications
  202. (Microsoft’s, especially) actively prevent system event handlers from
  203. working; you will recognize them by the error message, “The target
  204. application has prevented the usual handling of the Menu event.  Menu
  205. events should not be used with this application.”
  206.  
  207. If all goes well, the Menu Grabber dialog changes to show that it has
  208. grabbed the application’s menus, and the menu bar changes to match.  If
  209. you are using a color display, the menu bar turns red, and all grabbed
  210. menus have white titles, to make it obvious that these are not Menu
  211. Grabber’s own menus.
  212.  
  213. Some applications portray their menus differently depending on whether
  214. or not you press modifier keys (Shift, Control, Option, Command) when
  215. you click in the menu bar.  Any modifier keys you press while clicking the
  216. Grab… button are applied when grabbing the target application’s menus,
  217. and also when you select items from the grabbed menus.  The dialog shows
  218. which modifiers are in effect.
  219.  
  220. To select another application, repeat the procedure.  To refresh your
  221. view of the target application’s menus, click the Refresh button, with or
  222. without modifier keys.  To revert to Menu Grabber’s own menus, click the
  223. Revert button, or press Escape or Command-Period.
  224.  
  225.  
  226. Using Grabbed Menus
  227.  
  228. Having grabbed the menus of a target application, you can control that
  229. application by pulling down menus and selecting menu items from within
  230. Menu Grabber.  If you have pressed any modifier keys (Shift, Control,
  231. Option, Command), and the target machine is running Menu Events version
  232. 1.1.2 or later, these modifiers are applied to the menu selection, along
  233. with any modifiers which were pressed when the menus were grabbed.
  234. Meanwhile, the target application and its menus continue to work as usual.
  235.  
  236. Menu Grabber faithfully reproduces standard hierarchical (cascade)
  237. menus, Command-key shortcut equivalents, bullets and check marks, and
  238. styles such as underlining and italics.  It does not reproduce icons
  239. attached to menu items.  If it encounters a non-standard menu (one which
  240. uses a menu definition procedure other than the classic or
  241. Appearance-compliant standard 'MDEF'), it substitutes a menu containing
  242. a grayed-out item saying “non-standard menu,” because Menu Grabber
  243. does not have access to that function.  If a menu is unavailable for any
  244. reason, you will see a similar “unavailable menu” indication.  Keyboard,
  245. Help, and Application menus are never grabbed; selecting an item from
  246. these menus does not cause a Menu event to be sent to the target
  247. application.
  248.  
  249. Menu Grabber adds an extra disabled item to the bottom of each grabbed
  250. menu, to show the menu ID.  This may help you if you are writing a
  251. program or script to send a Menu event to the application.
  252.  
  253. The reproduction of the target application’s menu bar is static.  If you
  254. need to bring it up to date, because menus may have been added or
  255. deleted, or items enabled or disabled, you must refresh the menu bar by
  256. clicking the Refresh button.
  257.  
  258.  
  259.  
  260. Suggestions for Use
  261.  
  262.  
  263. Menu Grabber is distributed as part of a free set of cooperating
  264. programs, AWOL Utilities.  This section explains how Menu Grabber can
  265. work in conjunction with the other programs.
  266.  
  267.  
  268. Help on Wheels
  269.  
  270. Help on Wheels is an efficient and full-featured help server which displays
  271. help files on behalf of client applications.  The help file you are reading is
  272. distributed alongside the Menu Grabber application file as a separate Help
  273. on Wheels document.
  274.  
  275. You can read this help at any time while using Menu Grabber, either by
  276. selecting “Menu Grabber Help” from the Help menu, or by pressing the
  277. Help or Command-? key.  This version of Menu Grabber has some support
  278. for the sophisticated features of Help on Wheels, such as
  279. context-sensitivity, casual displays, and “hot” hypertext buttons.
  280.  
  281.  
  282.  
  283. Dialogs
  284.  
  285.  
  286. Menu Grabber has one dialog, to show its status.
  287.  
  288.  
  289. The Status Dialog
  290.  
  291. This dialog is present at all times while Menu Grabber is running.  When it
  292. is asking you to click a button to select a target application, it is operating
  293. under its own menus.
  294.  
  295. When you have selected a target application, and Menu Grabber is trying
  296. to grab its menus, the dialog suggests that you can press Command-Period
  297. to cancel the attempt.  Across a network, it may take up to 15 seconds to
  298. grab an application’s menus; some applications may never respond.  Menu
  299. Grabber will wait 30 seconds before giving up.
  300.  
  301. When it has grabbed an application’s menus, the dialog shows which
  302. application.
  303.  
  304. NOTE:  To quit Menu Grabber, you can click the close box, or revert to
  305. Menu Grabber’s own menus, then select Quit from the File menu or press
  306. Command-Q.  If you press Command-Q while grabbing, you will probably
  307. cause the target application to quit, not Menu Grabber!
  308.  
  309. •  Grab…
  310.  
  311. Click here to bring up the program selection dialog, so that you can select
  312. an application for menu grabbing.  If you are currently grabbing an
  313. application’s menus, this releases them.  Pressing the Return or Enter key
  314. is equivalent.
  315.  
  316. •  Refresh
  317.  
  318. Click here to refresh your view of the target application’s menus.  This
  319. button is not available when Menu Grabber is operating under its own
  320. menus.
  321.  
  322. •  Revert
  323.  
  324. Click here to revert to Menu Grabber’s own menus, releasing those
  325. previously grabbed.  This button is not available when Menu Grabber is
  326. operating under its own menus.  Pressing the Escape or Command-Period
  327. key is equivalent.
  328.  
  329.  
  330. The About Dialog
  331.  
  332. This dialog presents Menu Grabber’s About box.  It is opened by the
  333. “About Menu Grabber…” command in the Apple menu.
  334.  
  335. It mentions, by way of a balloon, that Menu Grabber offers help through
  336. both Balloon Help and Help on Wheels.  If you already have balloons
  337. showing, Menu Grabber spares you the balloon, figuring that you’ve
  338. probably seen enough recently.
  339.  
  340.  
  341.  
  342. Menus
  343.  
  344.  
  345. This section describes each of Menu Grabber’s menus.
  346.  
  347. On a color display, when Menu Grabber is grabbing the menu bar of
  348. another application, its menu bar turns red to warn you that any menu
  349. action will affect that application.  Grabbed menus have white titles and
  350. white-on-black items, as shown in the picture above.  (NOTE:  The Mac OS
  351. 8.0 Appearance Extension prevents Menu Grabber from presenting the
  352. menu items in white-on-black.)  The Keyboard, Help, and Application
  353. menus are not affected by grabbing, and retain their usual colors.
  354.  
  355. Menu Grabber adds an extra disabled item to the bottom of each grabbed
  356. menu, to show the menu ID.
  357.  
  358. The rest of this section describes the menus which appear before you
  359. first grab an application’s menus, or after you revert.  At other times,
  360. when you are grabbing, these menus are not available, except for the Help
  361. menu, which never changes.
  362.  
  363.  
  364. The Apple Menu
  365.  
  366. •  About Menu Grabber…
  367.  
  368. This command opens Menu Grabber’s About dialog, which invites you to
  369. try Balloon Help or Help on Wheels to learn more about Menu Grabber.
  370.  
  371.  
  372. The File Menu
  373.  
  374. •  Quit (Command-Q)
  375.  
  376. This command quits Menu Grabber.
  377.  
  378.  
  379. The Edit Menu
  380.  
  381. •  Undo (Command-Z)
  382.  
  383. This command is not used by Menu Grabber.  It is present only for desk
  384. accessories.
  385.  
  386. •  Cut (Command-X)
  387.  
  388. This command cuts selected text to the clipboard.  It is used only with
  389. desk accessories.
  390.  
  391. •  Copy (Command-C)
  392.  
  393. This command copies selected text to the clipboard.  It is used only with
  394. desk accessories.
  395.  
  396. •  Paste (Command-V)
  397.  
  398. This command inserts the contents of the clipboard at the current cursor
  399. location or replaces the currently selected text by the contents of the
  400. clipboard.  It is used only with desk accessories.
  401.  
  402. •  Clear
  403.  
  404. This command clears the selected text in a desk accessory.
  405.  
  406.  
  407. The Help Menu
  408.  
  409. •  About Balloon Help…
  410.  
  411. This command, supplied by System software, tells you how to use Balloon
  412. Help.  Menu Grabber supports Balloon Help.
  413.  
  414. •  Show/Hide Balloons
  415.  
  416. This command, supplied by System software, lets you turn Balloon Help
  417. on and off.  Menu Grabber supports Balloon Help.
  418.  
  419. •  Menu Grabber Help
  420.  
  421. This command asks Help on Wheels to display Menu Grabber’s help file.
  422. This will start the help server if it was not already running.  If the help
  423. server cannot be found on any mounted volume, Menu Grabber will offer
  424. to save a readable copy of the help file as a TeachText file, then ask
  425. Finder to open the file.  If the help file is missing or invalid, this command
  426. is disabled.
  427.  
  428. Pressing the Help or Command-? key at any time does the same thing.
  429. When there is a modal dialog box on your screen, the menu command is
  430. disabled, and the keyboard is the only way to display help.
  431.  
  432.  
  433.  
  434. Limitations
  435.  
  436.  
  437. Menu Grabber inherits the limitations of the Menu Events extension.  Menu
  438. events work only if the target application is programmed according to the
  439. customary rules about handling of high-level events and reacting to clicks
  440. in the menu bar.  Some of the big-name applications are among the
  441. exceptions to these standards, including Finder 7.0 or 7.1 (totally
  442. unwilling, but fortunately it has its own suite of Apple events; 7.1.2 or
  443. later will work), ResEdit 2.1.1 (nothing good to say about its Apple event
  444. handling), and most Microsoft applications (they install a handler over all
  445. Apple event classes, which doesn’t return errAEEventNotHandled when
  446. it’s supposed to).
  447.  
  448. If the menu item you select brings up a dialog box, that dialog will be on
  449. the target machine, so if that machine is unattended, you may have a
  450. problem.
  451.  
  452. If the target machine is under the influence of a screen saver or security
  453. package which would present a modal dialog in response to a mouse click,
  454. then you will not be able to grab menus.  The same is true if the target
  455. machine is already showing a modal dialog, preventing Menu Events from
  456. activating the target application.
  457.  
  458. Menu Grabber presumes that all hierarchical (cascade) menus are
  459. standard, so they may sometimes look odd.
  460.  
  461. If you are also using the help server Help on Wheels, you should read the
  462. Menu Events help file for information about a conflict between the two
  463. which can cause the target application to hang.
  464.  
  465. Any application, such as Finder 8.0, which yields time to other
  466. applications after a menu item is selected, may find itself in the
  467. background while handling that selection.  This may cause odd results,
  468. such as the application blinking its icon in the Application menu to request
  469. user interaction before presenting a modal dialog box.
  470.  
  471.  
  472.  
  473. Programmer Notes
  474.  
  475.  
  476. If you are interested in scripting, you should find out how to use Menu
  477. events to control non-scriptable applications through their menus, making
  478. them scriptable and recordable.  The Menu Events distribution includes a
  479. scripting addition ('osax') and a sample script to get you started.
  480.  
  481. The Menu Events extension, by itself, can support Menu events without
  482. any scripting package.
  483.  
  484. Write to the author at the above address if you want to know more about
  485. the Menu Events extension or how Menu Grabber was programmed.
  486.  
  487.  
  488.  
  489. Acknowledgements
  490.  
  491.  
  492. Thanks to C.K. Haun and the other folks at Apple Developer Technical
  493. Support who put together those clever little code snippets which give
  494. folks like me such odd ideas.
  495.  
  496. One big hug to Toni and the family for enduring a LOT of late nights.
  497.  
  498. Special thanks to the 170 fine people who beta-tested this software, and
  499. to others who provided useful information.
  500.  
  501.  
  502.  
  503. Revision History
  504.  
  505.  
  506. 1.3.1 (December 4, 1997)
  507. •  Public AWOL Utilities 1.4 release.
  508. •  Menu Grabber now supports the new Mac OS 8 platinum appearance.
  509. However, the Appearance Extension prevents Menu Grabber from
  510. presenting the menu items of grabbed menus in white-on-black.
  511. •  Menu Grabber now recognizes the new Appearance-compliant standard
  512. 'MDEF' as well as the classic standard 'MDEF', so that you can capture the
  513. menus of Appearance-compliant applications such as Finder 8.0.
  514.  
  515. 1.3 (March 6, 1996)
  516. •  Public AWOL Utilities 1.3 release.
  517. •  Added support for modifier keys pressed while grabbing menus, so that
  518. you can see menu items in their alternate form.  These modifiers are also
  519. applied when you select items from the grabbed menus.  The dialog shows
  520. which modifiers are in effect.
  521. •  Added the Refresh button to make it easier to work continuously with
  522. the same target application.
  523. •  Fixed a memory leak which could cause Menu Grabber to crash after a
  524. large number of grabs.
  525.  
  526. 1.2 (October 17, 1994)
  527. •  Public AWOL Utilities 1.2 release.
  528. •  Corrected a conflict with the MenuChoice utility which caused a failure
  529. to grab menus.
  530. •  Made Menu Grabber compatible with versions of Menu Events prior to
  531. 1.1.2.
  532. •  Improved the message given when the target application cannot be
  533. found.
  534. •  Improved handling of programs listed in the program selection dialog
  535. which are not applications.
  536.  
  537. 1.1.2 (April 19, 1994)
  538. •  Modifier keys (Shift, Control, Option, Command) are now effective on
  539. every menu selection where the target machine has Menu Events version
  540. 1.1.2 or later.
  541. •  Changed handling of non-standard menus to accommodate revisions in
  542. Menu Events version 1.1.2.
  543.  
  544. 1.1.1 (April 11, 1994)
  545. •  Document addition of scripting files to Menu Events 1.1.1 distribution.
  546.  
  547. 1.1 (March 28, 1994)
  548. •  Public AWOL Utilities 1.1 release.
  549. •  Corrected a bug which could cause the Grab… button to become
  550. unavailable.
  551. •  Documented that Menu Grabber works with Finder 7.1.2.
  552.  
  553. 1.0.6 (March 13, 1994)
  554. •  Some minor documentation changes.
  555. •  Added the thank-you hot button under Acknowledgements.
  556.  
  557. 1.0.5 (February 27, 1994)
  558. •  Corrected an incompatibility with SpeedyFinder7’s Help menu removal
  559. option which prevented help display.
  560. •  “Trying to grab” message now suggests Command-Period to cancel.
  561. •  Allowed the application to operate without a preferences file (for
  562. example, when startup disk is locked).
  563.  
  564. 1.0.4 (February 6, 1994)
  565. •  Removed mention of Menu Events bug fixed in version 1.0.5.
  566.  
  567. 1.0.3 (February 1, 1994)
  568. •  Changed color of Menu Grabber menu bar and menu titles when
  569. grabbing, to warn user that any menu action will affect another
  570. application.
  571.  
  572. 1.0.2 (January 11, 1994)
  573. •  Removed mention of Menu Events bug fixed in version 1.0.2.
  574. •  Added disabled “menu ID #” items to grabbed menus, to help users who
  575. want to script Menu events.
  576.  
  577. 1.0.1 (December 31, 1993)
  578. •  Initial AWOL Utilities 1.0.1 release.
  579.